In today's information age, data storage systems often are configured to manage file systems that include huge amounts of storage space. It is common for file systems to include many terabytes of storage space spread over multiple storage devices. In a dynamic file system environment, blocks of storage space (storage blocks) often get used, freed, and re-used over time as files are created, modified and deleted. It is common for such file systems to include mechanisms for identifying, freeing, and re-using storage blocks that are no longer being used in the file system. Traditional storage block re-use schemes, which may search through the file system storage space sequentially in order to locate free storage blocks for re-use, and data writes to areas of fragmented used and re-used storage blocks may lead to situations in which write operation performance is reduced due to the necessity of small-sized fragmented writes to fragmented areas of storage.
In view of the above, it is an object of the invention to improve write operation performance and efficiency, and to improve write operation performance in particular to fragmented areas of storage space, in particular in storage systems that have different performance for small sized fragmented writes and larger sized writes contiguously to non-fragmented areas of storage space.